#ifndef __TERRAINCOLORCMD_H__
#define __TERRAINCOLORCMD_H__

#include <stl/map.h>
#include <stl/list.h>
#include "command.h"

struct STerrainColorCMDInfo{
    int32 m_nX;
    int32 m_nY;
    color32 m_cOriginColor;
    color32 m_cNewColor;
};

class CTerrainColorCmd: public CCommand{
public:
    CTerrainColorCmd( map<uint32, color32> *pTerrainCellHeightInfoList );
    virtual ~CTerrainColorCmd();
    virtual void Init();
	virtual void Final();
    virtual bool32 Redo();
    virtual bool32 Undo();

private:
    list< STerrainColorCMDInfo > m_vTerrainCellColorInfoList;

};

#endif

